package corn

import (
	"log"
	"testing"

	"github.com/robfig/cron/v3"
)

/*
定时任务执行
*/
func Backup() {
	c := cron.New()
	// 设置定时任务，‌每天凌晨1点执行
	// cron表达式：‌分钟 小时 日 月 星期
	_, err := c.AddFunc("0 4 * * *", func() {
		// backupPGSQL()
	})
	if err != nil {
		log.Fatal(err)
	}
	c.Start()
}

func TestBackup(t *testing.T) {
	backupPGSQL()
}

func backupPGSQL() {
	// 设置pg_dump命令
	// 注意替换下面的用户名、‌密码、‌数据库名和备份文件路径
	// conf := config.Config.Database
	// cmd := exec.Command("pg_dump", "-U", "username", "-h", "localhost", "-p", "5432", "-W", "-F", "c", "-f", "/path/to/your/backup/file.backup", "dbname")
	// stRootDir, _ := os.Getwd()
	// filePath := filepath.Join(stRootDir, "file.backup")
	// cmd := exec.Command("pg_dump", "-U", "Administrator:mengbao", "-h", "localhost", "-p", "5432", "-W", "-F", "c", "-f", filePath, "dbname")

	// // 运行命令
	// err := cmd.Run()
	// if err != nil {
	// 	log.Printf("备份失败: %s\n", err)
	// } else {
	// 	fmt.Println("备份成功")
	// }
}
